home *** CD-ROM | disk | FTP | other *** search
/ Champak 66 / Vol 66.iso / games / abstract.swf / scripts / __Packages / MochiAd.as
Text File  |  2013-04-24  |  17KB  |  567 lines

  1. class MochiAd
  2. {
  3.    function MochiAd()
  4.    {
  5.    }
  6.    static function getVersion()
  7.    {
  8.       return "2.2";
  9.    }
  10.    static function showPreGameAd(options)
  11.    {
  12.       var _loc27_ = {clip:_root,ad_timeout:3000,fadeout_time:250,regpt:"o",method:"showPreloaderAd",color:16747008,background:16777161,outline:13994812,ad_started:function()
  13.       {
  14.          this.clip.stop();
  15.       },ad_finished:function()
  16.       {
  17.          this.clip.play();
  18.       }};
  19.       options = MochiAd._parseOptions(options,_loc27_);
  20.       var clip = options.clip;
  21.       var _loc23_ = 11000;
  22.       var _loc26_ = options.ad_timeout;
  23.       delete options.ad_timeout;
  24.       var fadeout_time = options.fadeout_time;
  25.       delete options.fadeout_time;
  26.       if(!MochiAd.load(options))
  27.       {
  28.          options.ad_finished();
  29.          return undefined;
  30.       }
  31.       options.ad_started();
  32.       var mc = clip._mochiad;
  33.       mc.onUnload = function()
  34.       {
  35.          options.ad_finished();
  36.       };
  37.       var _loc14_ = MochiAd._getRes(options);
  38.       var _loc4_ = _loc14_[0];
  39.       var _loc13_ = _loc14_[1];
  40.       mc._x = _loc4_ * 0.5;
  41.       mc._y = _loc13_ * 0.5;
  42.       var chk = mc.createEmptyMovieClip("_mochiad_wait",3);
  43.       chk._x = _loc4_ * -0.5;
  44.       chk._y = _loc13_ * -0.5;
  45.       var _loc7_ = chk.createEmptyMovieClip("_mochiad_bar",4);
  46.       _loc7_._x = 10;
  47.       _loc7_._y = _loc13_ - 20;
  48.       var _loc22_ = options.color;
  49.       delete options.color;
  50.       var _loc19_ = options.background;
  51.       delete options.background;
  52.       var _loc24_ = options.outline;
  53.       delete options.outline;
  54.       var _loc5_ = _loc7_.createEmptyMovieClip("_outline",1);
  55.       _loc5_.beginFill(_loc19_);
  56.       _loc5_.moveTo(0,0);
  57.       _loc5_.lineTo(_loc4_ - 20,0);
  58.       _loc5_.lineTo(_loc4_ - 20,10);
  59.       _loc5_.lineTo(0,10);
  60.       _loc5_.lineTo(0,0);
  61.       _loc5_.endFill();
  62.       var _loc3_ = _loc7_.createEmptyMovieClip("_inside",2);
  63.       _loc3_.beginFill(_loc22_);
  64.       _loc3_.moveTo(0,0);
  65.       _loc3_.lineTo(_loc4_ - 20,0);
  66.       _loc3_.lineTo(_loc4_ - 20,10);
  67.       _loc3_.lineTo(0,10);
  68.       _loc3_.lineTo(0,0);
  69.       _loc3_.endFill();
  70.       _loc3_._xscale = 0;
  71.       var _loc6_ = _loc7_.createEmptyMovieClip("_outline",3);
  72.       _loc6_.lineStyle(0,_loc24_,100);
  73.       _loc6_.moveTo(0,0);
  74.       _loc6_.lineTo(_loc4_ - 20,0);
  75.       _loc6_.lineTo(_loc4_ - 20,10);
  76.       _loc6_.lineTo(0,10);
  77.       _loc6_.lineTo(0,0);
  78.       chk.ad_msec = _loc23_;
  79.       chk.ad_timeout = _loc26_;
  80.       chk.started = getTimer();
  81.       chk.showing = false;
  82.       chk.last_pcnt = 0;
  83.       chk.fadeout_time = fadeout_time;
  84.       chk.fadeFunction = function()
  85.       {
  86.          var _loc2_ = 100 * (1 - (getTimer() - this.fadeout_start) / this.fadeout_time);
  87.          if(_loc2_ > 0)
  88.          {
  89.             this._parent._alpha = _loc2_;
  90.          }
  91.          else
  92.          {
  93.             var _loc3_ = this._parent._parent;
  94.             MochiAd.unload(_loc3_);
  95.             delete this.onEnterFrame;
  96.          }
  97.       };
  98.       mc.lc.adLoaded = function(width, height)
  99.       {
  100.       };
  101.       mc.lc.adjustProgress = function(msec)
  102.       {
  103.          var _loc2_ = this.mc._mochiad_wait;
  104.          _loc2_.server_control = true;
  105.          _loc2_.started = getTimer();
  106.          _loc2_.ad_msec = msec;
  107.       };
  108.       chk.onEnterFrame = function()
  109.       {
  110.          var _loc6_ = this._parent._parent;
  111.          var _loc12_ = this._parent._mochiad_ctr;
  112.          var _loc5_ = getTimer() - this.started;
  113.          var _loc3_ = false;
  114.          var _loc4_ = _loc6_.getBytesTotal();
  115.          var _loc8_ = _loc6_.getBytesLoaded();
  116.          var _loc10_ = 100 * _loc8_ / _loc4_;
  117.          var _loc11_ = 100 * _loc5_ / chk.ad_msec;
  118.          var _loc9_ = this._mochiad_bar._inside;
  119.          var _loc2_ = Math.min(100,Math.min(_loc10_ || 0,_loc11_));
  120.          _loc2_ = Math.max(this.last_pcnt,_loc2_);
  121.          this.last_pcnt = _loc2_;
  122.          _loc9_._xscale = _loc2_;
  123.          if(!chk.showing)
  124.          {
  125.             var _loc7_ = _loc12_.getBytesTotal();
  126.             if(_loc7_ > 0 || typeof _loc7_ == "undefined")
  127.             {
  128.                chk.showing = true;
  129.                chk.started = getTimer();
  130.             }
  131.             else if(_loc5_ > chk.ad_timeout)
  132.             {
  133.                _loc3_ = true;
  134.             }
  135.          }
  136.          if(_loc5_ > chk.ad_msec)
  137.          {
  138.             _loc3_ = true;
  139.          }
  140.          if(_loc4_ > 0 && _loc8_ >= _loc4_ && _loc3_)
  141.          {
  142.             if(this.server_control)
  143.             {
  144.                delete this.onEnterFrame;
  145.             }
  146.             else
  147.             {
  148.                this.fadeout_start = getTimer();
  149.                this.onEnterFrame = chk.fadeFunction;
  150.             }
  151.          }
  152.       };
  153.    }
  154.    static function showInterLevelAd(options)
  155.    {
  156.       var _loc13_ = {clip:_root,ad_timeout:2000,fadeout_time:250,regpt:"o",method:"showTimedAd",ad_started:function()
  157.       {
  158.          this.clip.stop();
  159.       },ad_finished:function()
  160.       {
  161.          this.clip.play();
  162.       }};
  163.       options = MochiAd._parseOptions(options,_loc13_);
  164.       var clip = options.clip;
  165.       var _loc10_ = 11000;
  166.       var _loc12_ = options.ad_timeout;
  167.       delete options.ad_timeout;
  168.       var fadeout_time = options.fadeout_time;
  169.       delete options.fadeout_time;
  170.       if(!MochiAd.load(options))
  171.       {
  172.          options.ad_finished();
  173.          return undefined;
  174.       }
  175.       options.ad_started();
  176.       var mc = clip._mochiad;
  177.       mc.onUnload = function()
  178.       {
  179.          options.ad_finished();
  180.       };
  181.       var _loc5_ = MochiAd._getRes(options);
  182.       var _loc14_ = _loc5_[0];
  183.       var _loc11_ = _loc5_[1];
  184.       mc._x = _loc14_ * 0.5;
  185.       mc._y = _loc11_ * 0.5;
  186.       var chk = mc.createEmptyMovieClip("_mochiad_wait",3);
  187.       chk.ad_msec = _loc10_;
  188.       chk.ad_timeout = _loc12_;
  189.       chk.started = getTimer();
  190.       chk.showing = false;
  191.       chk.fadeout_time = fadeout_time;
  192.       chk.fadeFunction = function()
  193.       {
  194.          var _loc2_ = 100 * (1 - (getTimer() - this.fadeout_start) / this.fadeout_time);
  195.          if(_loc2_ > 0)
  196.          {
  197.             this._parent._alpha = _loc2_;
  198.          }
  199.          else
  200.          {
  201.             var _loc3_ = this._parent._parent;
  202.             MochiAd.unload(_loc3_);
  203.             delete this.onEnterFrame;
  204.          }
  205.       };
  206.       mc.lc.adLoaded = function(width, height)
  207.       {
  208.       };
  209.       mc.lc.adjustProgress = function(msec)
  210.       {
  211.          var _loc2_ = this.mc._mochiad_wait;
  212.          _loc2_.server_control = true;
  213.          _loc2_.started = getTimer();
  214.          _loc2_.ad_msec = msec - 250;
  215.       };
  216.       chk.onEnterFrame = function()
  217.       {
  218.          var _loc5_ = this._parent._mochiad_ctr;
  219.          var _loc4_ = getTimer() - this.started;
  220.          var _loc2_ = false;
  221.          if(!chk.showing)
  222.          {
  223.             var _loc3_ = _loc5_.getBytesTotal();
  224.             if(_loc3_ > 0 || typeof _loc3_ == "undefined")
  225.             {
  226.                chk.showing = true;
  227.                chk.started = getTimer();
  228.             }
  229.             else if(_loc4_ > chk.ad_timeout)
  230.             {
  231.                _loc2_ = true;
  232.             }
  233.          }
  234.          if(_loc4_ > chk.ad_msec)
  235.          {
  236.             _loc2_ = true;
  237.          }
  238.          if(_loc2_)
  239.          {
  240.             if(this.server_control)
  241.             {
  242.                delete this.onEnterFrame;
  243.             }
  244.             else
  245.             {
  246.                this.fadeout_start = getTimer();
  247.                this.onEnterFrame = this.fadeFunction;
  248.             }
  249.          }
  250.       };
  251.    }
  252.    static function showTimedAd(options)
  253.    {
  254.       MochiAd.showInterLevelAd(options);
  255.    }
  256.    static function showPreloaderAd(options)
  257.    {
  258.       MochiAd.showPreGameAd(options);
  259.    }
  260.    static function _allowDomains(server)
  261.    {
  262.       var _loc1_ = server.split("/")[2].split(":")[0];
  263.       if(System.security)
  264.       {
  265.          if(System.security.allowDomain)
  266.          {
  267.             System.security.allowDomain("*");
  268.             System.security.allowDomain(_loc1_);
  269.          }
  270.          if(System.security.allowInsecureDomain)
  271.          {
  272.             System.security.allowInsecureDomain("*");
  273.             System.security.allowInsecureDomain(_loc1_);
  274.          }
  275.       }
  276.       return _loc1_;
  277.    }
  278.    static function _loadCommunicator(options)
  279.    {
  280.       var _loc26_ = {clip:_root,com_server:"http://x.mochiads.com/com/1/",method:"loadCommunicator",depth:10337,id:"_UNKNOWN_"};
  281.       options = MochiAd._parseOptions(options,_loc26_);
  282.       options.swfv = options.clip.getSWFVersion() || 6;
  283.       options.mav = MochiAd.getVersion();
  284.       var _loc18_ = options.clip;
  285.       var _loc20_ = "_mochiad_com_" + options.id;
  286.       if(!MochiAd._isNetworkAvailable())
  287.       {
  288.          return null;
  289.       }
  290.       if(_loc18_[_loc20_])
  291.       {
  292.          return _loc18_[_loc20_].lc;
  293.       }
  294.       var _loc21_ = options.com_server + options.id;
  295.       MochiAd._allowDomains(_loc21_);
  296.       delete options.id;
  297.       delete options.com_server;
  298.       var _loc25_ = options.depth;
  299.       delete options.depth;
  300.       var _loc17_ = _loc18_.createEmptyMovieClip(_loc20_,_loc25_);
  301.       var _loc11_ = _loc17_.createEmptyMovieClip("_mochiad_com",1);
  302.       for(var _loc15_ in options)
  303.       {
  304.          _loc11_[_loc15_] = options[_loc15_];
  305.       }
  306.       var _loc6_ = new LocalConnection();
  307.       var _loc16_ = ["",Math.floor(new Date().getTime()),random(999999)].join("_");
  308.       _loc6_.mc = _loc17_;
  309.       _loc6_.name = _loc16_;
  310.       _loc6_.allowDomain = function(d)
  311.       {
  312.          return true;
  313.       };
  314.       _loc6_.allowInsecureDomain = _loc6_.allowDomain;
  315.       _loc6_.connect(_loc16_);
  316.       _loc17_.lc = _loc6_;
  317.       _loc11_.lc = _loc16_;
  318.       _loc6_._id = 0;
  319.       _loc6_._queue = [];
  320.       _loc6_.rpcResult = function(cb_arg)
  321.       {
  322.          var _loc8_ = parseInt(cb_arg);
  323.          var _loc4_ = this._callbacks[_loc8_];
  324.          if(!_loc4_)
  325.          {
  326.             return undefined;
  327.          }
  328.          delete this._callbacks[_loc8_];
  329.          var _loc5_ = [];
  330.          var _loc3_ = 2;
  331.          while(_loc3_ < _loc4_.length)
  332.          {
  333.             _loc5_.push(_loc4_[_loc3_]);
  334.             _loc3_ = _loc3_ + 1;
  335.          }
  336.          _loc3_ = 1;
  337.          while(_loc3_ < arguments.length)
  338.          {
  339.             _loc5_.push(arguments[_loc3_]);
  340.             _loc3_ = _loc3_ + 1;
  341.          }
  342.          var _loc6_ = _loc4_[1];
  343.          var _loc7_ = _loc4_[0];
  344.          if(_loc7_ && typeof _loc6_ == "string")
  345.          {
  346.             _loc6_ = _loc7_[_loc6_];
  347.          }
  348.          if(_loc6_)
  349.          {
  350.             _loc6_.apply(_loc7_,_loc5_);
  351.          }
  352.       };
  353.       _loc6_._didConnect = function(endpoint)
  354.       {
  355.          this._endpoint = endpoint;
  356.          var _loc4_ = this._queue;
  357.          delete this._queue;
  358.          var _loc5_ = this.doSend;
  359.          var _loc2_ = 0;
  360.          while(_loc2_ < _loc4_.length)
  361.          {
  362.             var _loc3_ = _loc4_[_loc2_];
  363.             _loc5_.apply(this,_loc3_);
  364.             _loc2_ = _loc2_ + 1;
  365.          }
  366.       };
  367.       _loc6_.doSend = function(args, cbobj, cbfn)
  368.       {
  369.          if(this._endpoint == null)
  370.          {
  371.             var _loc4_ = [];
  372.             var _loc3_ = 0;
  373.             while(_loc3_ < arguments.length)
  374.             {
  375.                _loc4_.push(arguments[_loc3_]);
  376.                _loc3_ = _loc3_ + 1;
  377.             }
  378.             this._queue.push(_loc4_);
  379.             return undefined;
  380.          }
  381.          this._id += 1;
  382.          var _loc5_ = this._id;
  383.          if(cbfn === undefined || cbfn === null)
  384.          {
  385.             cbfn = cbobj;
  386.          }
  387.          this._callbacks[_loc5_] = [cbobj,cbfn];
  388.          var _loc7_ = new LocalConnection();
  389.          var _loc9_ = _loc7_.send(this._endpoint,"rpc",_loc5_,args);
  390.       };
  391.       _loc6_._callbacks = {};
  392.       _loc6_._callbacks[0] = [_loc6_,"_didConnect"];
  393.       _loc11_.st = getTimer();
  394.       _loc11_.loadMovie(_loc21_ + ".swf","POST");
  395.       return _loc6_;
  396.    }
  397.    static function fetchHighScores(options, callbackObj, callbackMethod)
  398.    {
  399.       var _loc1_ = MochiAd._loadCommunicator({id:options.id});
  400.       if(!_loc1_)
  401.       {
  402.          return false;
  403.       }
  404.       var _loc4_ = ["fetchHighScores",options];
  405.       _loc1_.doSend(["fetchHighScores",options],callbackObj,callbackMethod);
  406.       return true;
  407.    }
  408.    static function sendHighScore(options, callbackObj, callbackMethod)
  409.    {
  410.       var _loc1_ = MochiAd._loadCommunicator({id:options.id});
  411.       if(!_loc1_)
  412.       {
  413.          return false;
  414.       }
  415.       var _loc4_ = ["sendHighScore",options];
  416.       _loc1_.doSend(["sendHighScore",options],callbackObj,callbackMethod);
  417.       return true;
  418.    }
  419.    static function load(options)
  420.    {
  421.       var _loc13_ = {clip:_root,server:"http://x.mochiads.com/srv/1/",method:"load",depth:10333,id:"_UNKNOWN_"};
  422.       options = MochiAd._parseOptions(options,_loc13_);
  423.       options.swfv = options.clip.getSWFVersion() || 6;
  424.       options.mav = MochiAd.getVersion();
  425.       var _loc9_ = options.clip;
  426.       if(!MochiAd._isNetworkAvailable())
  427.       {
  428.          return null;
  429.       }
  430.       if(_loc9_._mochiad_loaded)
  431.       {
  432.          return null;
  433.       }
  434.       var _loc12_ = options.depth;
  435.       delete options.depth;
  436.       var _loc6_ = _loc9_.createEmptyMovieClip("_mochiad",_loc12_);
  437.       var _loc11_ = MochiAd._getRes(options);
  438.       options.res = _loc11_[0] + "x" + _loc11_[1];
  439.       options.server += options.id;
  440.       delete options.id;
  441.       _loc9_._mochiad_loaded = true;
  442.       var _loc4_ = _loc6_.createEmptyMovieClip("_mochiad_ctr",1);
  443.       for(var _loc7_ in options)
  444.       {
  445.          _loc4_[_loc7_] = options[_loc7_];
  446.       }
  447.       var _loc10_ = _loc4_.server;
  448.       delete _loc4_.server;
  449.       var _loc14_ = MochiAd._allowDomains(_loc10_);
  450.       _loc6_.onEnterFrame = function()
  451.       {
  452.          if(this._mochiad_ctr._url != this._url)
  453.          {
  454.             this.onEnterFrame = function()
  455.             {
  456.                if(!this._mochiad_ctr)
  457.                {
  458.                   delete this.onEnterFrame;
  459.                   MochiAd.unload(this._parent);
  460.                }
  461.             };
  462.          }
  463.       };
  464.       var _loc5_ = new LocalConnection();
  465.       var _loc8_ = ["",Math.floor(new Date().getTime()),random(999999)].join("_");
  466.       _loc5_.mc = _loc6_;
  467.       _loc5_.name = _loc8_;
  468.       _loc5_.hostname = _loc14_;
  469.       _loc5_.allowDomain = function(d)
  470.       {
  471.          return true;
  472.       };
  473.       _loc5_.allowInsecureDomain = _loc5_.allowDomain;
  474.       _loc5_.connect(_loc8_);
  475.       _loc6_.lc = _loc5_;
  476.       _loc4_.lc = _loc8_;
  477.       _loc4_.st = getTimer();
  478.       _loc4_.loadMovie(_loc10_ + ".swf","POST");
  479.       return _loc6_;
  480.    }
  481.    static function unload(clip)
  482.    {
  483.       if(typeof clip == "undefined")
  484.       {
  485.          clip = _root;
  486.       }
  487.       if(clip.clip && clip.clip._mochiad)
  488.       {
  489.          clip = clip.clip;
  490.       }
  491.       if(!clip._mochiad)
  492.       {
  493.          return false;
  494.       }
  495.       clip._mochiad.removeMovieClip();
  496.       delete clip._mochiad_loaded;
  497.       delete clip._mochiad;
  498.       return true;
  499.    }
  500.    static function _isNetworkAvailable()
  501.    {
  502.       if(System.security)
  503.       {
  504.          var _loc1_ = System.security;
  505.          if(_loc1_.sandboxType == "localWithFile")
  506.          {
  507.             return false;
  508.          }
  509.       }
  510.       return true;
  511.    }
  512.    static function _getRes(options)
  513.    {
  514.       var _loc3_ = options.clip.getBounds();
  515.       var _loc2_ = 0;
  516.       var _loc1_ = 0;
  517.       if(typeof options.res != "undefined")
  518.       {
  519.          var _loc4_ = options.res.split("x");
  520.          _loc2_ = parseFloat(_loc4_[0]);
  521.          _loc1_ = parseFloat(_loc4_[1]);
  522.       }
  523.       else
  524.       {
  525.          _loc2_ = _loc3_.xMax - _loc3_.xMin;
  526.          _loc1_ = _loc3_.yMax - _loc3_.yMin;
  527.       }
  528.       if(_loc2_ == 0 || _loc1_ == 0)
  529.       {
  530.          _loc2_ = Stage.width;
  531.          _loc1_ = Stage.height;
  532.       }
  533.       return [_loc2_,_loc1_];
  534.    }
  535.    static function _parseOptions(options, defaults)
  536.    {
  537.       var _loc4_ = {};
  538.       for(var _loc8_ in defaults)
  539.       {
  540.          _loc4_[_loc8_] = defaults[_loc8_];
  541.       }
  542.       if(options)
  543.       {
  544.          for(_loc8_ in options)
  545.          {
  546.             _loc4_[_loc8_] = options[_loc8_];
  547.          }
  548.       }
  549.       if(_root.mochiad_options)
  550.       {
  551.          var _loc5_ = _root.mochiad_options.split("&");
  552.          var _loc2_ = 0;
  553.          while(_loc2_ < _loc5_.length)
  554.          {
  555.             var _loc3_ = _loc5_[_loc2_].split("=");
  556.             _loc4_[unescape(_loc3_[0])] = unescape(_loc3_[1]);
  557.             _loc2_ = _loc2_ + 1;
  558.          }
  559.       }
  560.       if(_loc4_.id == "test")
  561.       {
  562.          trace("[MochiAd] WARNING: Using the MochiAds test identifier, make sure to use the code from your dashboard, not this example!");
  563.       }
  564.       return _loc4_;
  565.    }
  566. }
  567.